Welcome to Iterations, a program to generate fractals.

Menu Commands

File

View

Menu

Filter 1

Filter 2

Options

Image

Convolution

Window

Help

Iterations Help

Overview

Features

Toolbar buttons

Selecting an equation

Zooming in and out

Drawing Julia Set Fractals

Filters

Combo-Fractals

Creating a Fractal Video


File menu commands

The File menu offers the following commands:

New	Creates a new document.
Open	Opens an existing document.
Close	Closes an opened document.
Save	Saves an opened document using the same file name.
Save As	Saves an opened document to a specified file name.
Save Parameters As	Saves the parameters to an ASCII file with extension “FTL”.
Load Parameters	Loads fractal parameters from an ASCII file with extension FTL.
Print	Prints the image.
Print Preview	Displays a view of the printed output.
Print Setup	Sets up the Printers Parameters.
Print Header / Footer / Magnification	Bring up a dialog box for adjusting the header, footer and the magnification.
Font	Sets the print font.
Auto Grid	Options for running in auto grid mode.
Exit	Exits Iterations.


View menu commands

The View menu offers the following commands:

Toolbar	Shows or hides the toolbar.
Status Bar	Shows or hides the status bar.
Stretch To Fit	Stretches the image to fit the window size.
Zoom into Rectangle	Highlighted when a zoom rectangle is drawn.
Parameter Monitor	Opens a Dialog for Monitoring Parameters
New View on Zoom Mode	Toggles the mode for opening new windows on zooming and drawing Julia sets.
Orbit	Plots three different graphs of the x and y coordinates of an entire iteration sequence for one screen pixel.
XY graph	Plots the XY orbits of an entire iteration sequence of a single pixel.
X graph	Plots an X versus Counts graph of an entire iteration sequence of a single pixel.
Y graph	Plots an X versus Counts graph of an entire iteration sequence of a single pixel.
Movie Dialog	Brings up the Dialog Box used for making fractal videos.
Movie	Starts the movie creation process.
Batch Compress	Executes the Batch Compressor Program for compressing AVI files.
Video Player	Executes the Video Player Program for playing AVI files.


Menu commands

The Menu offers the following commands:

Sharon Webb	Sharon Webb’s Space Probe formulae with various other equations based on the Space Probe.
Polynomials1	Various equations
Polynomials2	Various equations.
Polynomials3	Various equations.
Polynomials4	Various Equations
Phoenix / Webb	Phoenix formulae discovered by Shigehiro Ushiki and variations from Sharon Webb’s formulae combined with the basic Phoenix algorithm.
Genesis	Various equations
Quartets	Quartets method equations
Raphson	Newton Raphson’s equations
Custom	Various equations
Derbyshire	Nova Formulae discovered by Paul Derbyshire.
Quaternions	Sir William Rowan Hamilton’s 2D Quaternions
Combo-Fract	Combination Fractals
Biomorph	Biomorph methods
Invert	Invert methods
Orientation	Fractal Orientation
c=log(Mag^Pwr);	Creates a kaleidoscope effect
Mandelbrot Set	Starts drawing a fractal
Julia Set	Starts drawing a Julia fractal
Zero Init	Initializes the X and Y coordinates to zero.
Max = Zero	Assigns zero to the color if it reaches the maximum iterations.


Menu | Sharon Webb

116.) z = z*z*z*z+1/c; [Sharon's Star]
117.) z = (z*z/2+c)*(z*z/2+c); [Sharon's Space Probe]
118.) z=(1/z*z-c)*(z*z*z*z+c);
119.) z=(z*z*z*z)/(1+z.csin())+c;
120.) z = ((z*z*z*z+c)*(z+1/c));
121.) c = c+(c/pi);  z = z*z*z*z+c;
122.) c = 4*(c/2);  z = z*z*z*z+c;
123.) t = (c/2)^2;  z = z*z*z*z+t+c; [Sharon08]
124.) t = (c/1.936)^2;  z = z*z*z*z+t+c; [Sharon09]
125.) t = (c/1.993)^2;   z = z*z*z*z+t+c; [Sharon10]
126.) z = ((z*z/2)+c)^4;
127.) z = (z+z*z/2)+c; [Sharon12]
128.) z = (z^(c+2))+z*z+c;
129.) z=(z^(c+4))+z*z*z*z+c;
130.) t=((z^2)/(2+z)^4); z=z*z*z*z*t+c;
131.) t=z^(z+2);  z = z*z*z*z+t+c;
132.) t=z/2+z;  z = z*z*z*z+t*c+c;
133.) t=(1+c).csin();  z = z*z*z*z/t+c;
134.) temp=atan(fabs(c.real()/c.imag()));  z = z*z*z*z+c/temp;
135.) temp=atan(fabs(c.real()/c.imag()));  z = z*z*z*z+c+temp/2;
136.) temp=atan(fabs(c.real()/c.imag()));  z = z*z*z*z+z*z*z+temp+c;
137.) temp=atan(fabs(c.real()/c.imag()));  z = z*z*z*z+temp/(c+z); 141.) z1=z; z=z*z*z*z+z2/2+c; z2=z1; [Webb]


Menu | Polynomials 1

0.) F(z) = z*z + c;

1.) F(z) = z-((z^3)+(c-1)*z-c)/(3*(z^2)+c-1);

2.) F(z) = (z*z+c)/c + c;

3.) F(z) = 1/(z*z) + 1/c) * z*z + c;

4.) F(z) = cos(z)*c;

5.) F(z) = cos(((z*z+c)/c)) + c;

6.) F(z) = z*z+c*(1+z.squares());

7.) F(z) = ((z*z)/(1+z))+c;

8.) F(z) = ((5z^3 - 3z) / 2) + c; [Legendre Polynomial]

9.) F(z) = z*z+c*(i/(int)rn);

10.) [3rd Order Newton]

11.) [7nth Order Newton]

12.) F(z) = z^cn+c; Nth Order Mandelbrot [Generalized]

13.) F(z)=cos(z*z)-sin(c*c*c)-cos(c*c)+c;

14.) F(z)=sin(z*z)-.2*z*z+c+cos(c*c);

15.) F(z) = c(z^5 - 5z^3 + 5z); [Tchebychev C5]
16.) F(z) = cos(z*c)*c;
17.) F(z) = z*z*sin(z.real()) + c*z*cos(z.imag()) + c;
18.) F(z) = ((z*z + c)^2) + z + c;
19.) F(z) = cos((cos(cos(z)*c)+c)*c);
20.) F(z) = z*z+c; z.real()=z.real()*z.real();
21.) F(z) = z*cn+sin(c)+cn; [Multi-Fractal]


Menu | Polynomials 2

22.) F(z) = z^n - c^m;
23.) F(z) = z^n + z**m + c;
24.) if ((z.r*c.i+c.r*z.i) >= 0) F(z)=z*c-c; else F(z)=z*c+c; [Barnsley]
25.) F(z) = c*z*sin(z.real()) + c*z*cos(z.imag()) + c;
26.) F(z) = z^n- z + c;
27.) F(z) = cos(z) + c;
28.) F(z) = z^n*sin(x) + c*z*cos(y) + c;
29.) F(z) =  z^n + c; c = c/2 + z; [Spider]
30.) F(z) = (z^5 + c) / (z^3 + z^2+ z + 1);
31.) F(z) = z^9 - c*z^6 + c*z^3 + c;
32.) F(z) = z^n*sin(x) + c*y*z + z^m*cos(x) + c*z*sin(y) + c;
33.) F(z) = c*(z.csin() + z.ccos()) * ((z^3) + z + c);
34.) F(z) = z*z*(cmplx(expo,0)^z) - z*(cmplx(expo,0)^z) + c;
35.) F(z) = c*sin(z) + cos(z);
36.) F(z) = exp(z^n)/(z^m+c);
37.) F(z) = z^12*cos(x) -- z^11*sin(x) - z^10*tan(y) + c;
38.) F(z) = z^12 - z^11 - z^10 + c;
39.) F(z) = sin(z^n + c);
40.) F(z) = exp(z^n + c);


Menu | Polynomials 3

41.) F(z) = (z^pi) + (c^pi);
42.) F(z) = ((((z^cn) + 1))^.5) + c;
43.) F(z) = ((z^cn) + c)^.5;
44.) F(z) = e^(cos(z*c));
45.) F(z) = z = c*z - 1 + c*(complex(e,e))^(-z);
46.) F(z) = 1/((z*z) + c;
47.) F(z) = 1/((z*z) + c^n);
48.) F(z) = z*z*exp(z*z) + c;
49.) F(z) = (z*z + c)^2 + c;
50.) F(z) = z*z + sin(z*c) + c;
51.) F(z) = (z^rn).csin() + (z^rm) + c;
52.) F(z) = ((z^3) / ((z+.1)^2)) + c;
53.) F(z) = sin(z^3) + ((c^3)*2);
54.) F(z) = sin((z^2) + c) + z;
55.) F(z) = sin((z*2) + c) + c;
56.) F(z) = c*(sin(z) + cos(z));


Menu | Polynomials 4

151 z=((((1/z*1/c)*z*z*z*z)+c))^4;
152 z1=z; z=(z*z*z*z+c*z2+c); z=z*z*z*z; z2=z1;
153.) z1=z; z=z.csin()+z*z*z*z+c; c=t+z1-z;
154.) z=(z*z*z/c+c)^3;
155.) z=(z*z*z*z/(1+z)+c)^4;
157.) z1=z; z=z*z*z-z2*z2*z2+c; z2=z1;
158.) z1=z; z=z*z*z*z-z2*z2*z2*z2+c; z2=z1;
159.) z1=z; z=((z*z*z*z-z2*z2*z2*z2+c))^2; z2=z1;
160.) z1=z; z=(z*z-z2*z2+c)*(z*z-z2*z2-c); z2=z1;
161.) z=z*z+c; z=z*z*(.5+z)/(.5+c)+c;
162.) z=z*z*z*z*(.5+z)/(.5+c)+c;
163.) z=z*z*(cn+z)/(cn+z+c)+c;
164.) z=z*z*z*z*(cn+z)/(z+c)+c;
165.) z=z*z*z*z*(cn-z)/(cn+c)+c;
166.) z=(z*z*z*z*(cn-z)/(cn+c)+c)^4;
167.) z1=z*z+c; z=z*z*z*z+c^z+c;


Menu | Phoenix / Webb

The original phoenix curve was discovered by Shigehiro Ushiki, "Phoenix",

IEEE Transactions on Circuits and Systems, Vol. 35, No. 7, July 1988, pp. 788-789.

71.)  F(z) = z*z+c.imag()+c.real()*z2; [2nd Order Phoenix];

72.)  F(z) = z*z*z+c.imag()+c.real()*z2; [3rd Order Phoenix]

73.)  F(z) = z*z*z*z+c.imag()+c.real()*z2; [4th Order Phoenix];

A 3rd order Phoenix Curve equation, as it is implemented in the Iterations software, is shown below:

// z, z1, z2, and c are complex numbers.

// c is initialized to the pixel coordinate, unless it is a Julia type

// For a Julia type, c is a constant for all pixel coordinates.

// z may be initialized to the pixel coordinate, or zero.

// JMAX is the maximum iteration count and is usually about 255.

// dBailout is usually equal to 4

// c.real() is the real component of c

// c.imag() is the imaginary component of c

z2 = cmplx(0,0);

for (i = 0; i < JMAX && z.squares() < dBailout ; i++)

{

  z1 = z;

  z = z*z*z+c.imag()+c.real()*z2;

  z2 = z1;

}

Other formulae include variations of Sharon Webb’s Space Probe.

138.) z2=cmplx(.5,0);  z=z*z-z2*z2+c;
139.) z1=z; z=z*z*z*z-z2+c; z2=z1; [Webb]
140.) z1=z; z=z*z*z*z+z2+c; z2=z1; [Webb]
142.) z1=z; z=z*z*z*z+c.real()*z2/2+c.imag()*z2/2+c; z2=z1;
143.) z1=z; z=z*z*z*z+c.real()*c.imag()*z2/2+c; z2=z1; [Webb / Phoenix]
144.) z1=z; z=z*z*z*z+c.real()+c.imag()*z2+c; z2=z1; [Webb / Phoenix]
145.) z1=z; z=z*z*z*z+c.real()/c.imag()*z2+c; z2=z1; [Webb / Phoenix]
146.) z1=z; z=z*z*z*z+4*z2*c; z2=z1; [Webb]
147.) z1=z; z=z*z*z*z+4*z2*c+c; z2=z1; [Webb]
149.) z1=z; z=z*z*z*z-z2*c*z.real()+c+z.imag(); z2=z1; [Webb / Phoenix]
150.) z1=z; z=z*z*z*z-z2/2+c+z.real()*c+z.imag(); z2=z1; [Webb / Phoenix]


Menu | Genesis

Most of these formulae originated from the Genesis program written by Holger Jaenisch and James Handley.  Specifically formulae 101, 107, 108, 109,110, and 115.

101.) F(z) = z^cn+c;  [Generalized Mandelbrot] ; M Filter
102.) Multi-Fract;  sin(z*z+c); c=z/i;  z=z*z+c;
103.) F(z) = z+(((z*z)^cn)+c);
104.) F(z) = z*z*z-aa3*z+b;
105.) F(z) = z.ccos() * (z*z+c);
106.) F(z) = cos(z*c)*c; M Filter
107.) F(z) = z^3 - 3*(A^2)*z + B;   [CBAP]
108.) F(z) = z^3 - 3*(A^2)*z + B;   [CCAP]
109.) F(z) = z^3 - 3*(A^2)*z + B;   [CFAP]
110.) F(z) = z^3 - 3*(A^2)*z + 2*(A^3 + L;   [CGAP]
111.) Multi-Fract, z=z^2 + c ; z=z^cos(z);
112.) Multi-Fract, z=z^2 + c ; z=z^sin(z);
113.) F(z) = ((z*z).ccos()+c/(1+z)).ccos()+c;
114.) F(z) = tangent(z*z)+c;
115.) F(z) = z^3 + z*(c - 1) - c; [Ikenaga]


Menu | Quartet

70.) F(z) = z = z*z.csin() * c + c; [Quartet]
98.) F(z) = z*c.csin() - z; [Quartet]
99.) F(z) = (z^cn)+c; [Quartet]
100.) F(z) = z.csin() - c; [Quartet]
148.) z2 = z; z = z*z*z*z+c; c = z2; [Webb / Quartet]
156.) z1=z; z=z*z*z*z/(1+z)+c; c=z1; [Webb / Quartet]


Menu | Raphson

Isaac Newton and Joseph Raphson’s method for finding zeros.

61.) F(z) = ((cn-1)*(z^cn)+cm)/(cn*(z^(cn-1))); [Newton]
62.) F(c) = ((2*c)/3 + 1/(3*c*c)).clog(); [Newton]
63.) F(c) = c - ((c^5)-1)/(4*(c^4)); [Newton]
65.) F(c) = c - ((c^3)-1)/(3*(c^2)) + (c-1)/(1-c^3); [Newton]
66.) F(c) = c - ((c^5)-1)/(4*(c^2)); [Newton]
67.) F(c) = c - ((c^n)-1)/(n*(c^m)); [Newton]
68.) F(c) = (c - ((c^4)-c)/(4*(c^3)-1)); [Newton]
69.) F(c) = (c - ((c^3)-c)/(3*(c^2)-1)); [Newton]


Menu | Custom

1.) 	F(z) = z + c;

1.) 	 Squares

1.) 	 Circles

2.) 	 Radial

3.) 	 Spiral

4.) 	 Color Test Pattern

1.) 	 F(z) = c*((z^cn) / cn*(z^cn) + z);

1.) 	 F(z) = z.csin() + (z^cn) + c;

2.) 	 F(z) = c*z*(2 - (z^cn));

3.) 	 F(z) = acos(z) + (z^cn) + c;

4.) 	 F(z) = z.csin() + z.csin() * (z^cn) + c;

5.) 	 F(z) = z.csin() + z.ccos() * (z^cn) + c;

6.) 	 F(z) = z.csin() + acos(z) * (z^cn) + c;

7.) 	 init z2=c-c.csin(); iterate {z2=c+z2/z-z; z=z*c+z2/c;};


Menu | Derbyshire

57.) z = z - (z*z-1)/(2*z) + c; [2nd Order Nova]
58.) z = z - (z*z*z+1)/(3*z*z) + c; [3rd Order Nova]
59.) z = z - (z*z*z*z-1)/(4*z*z*z) + c; [4th Order Nova]
60.) z = z - (z*z*z*z*z-1)/(5*z*z*z*z) + c; [5th Order Nova]

The Nova Formulae was discovered by Paul Derbyshire at PGD's Fractal Gallery. It is based on the Newton-Raphson method but it uses an additional component which creates a Mandelbrot image within the Newton-Raphson image. Julia sets can also be generated from this equation. The specific algorithms used for creating these images are based on 3rd, 4th and 5th Order Newton equations. An algorithm for the 3rd order Nova Formulae method is shown below.

     // z, z2, and c are complex numbers

     // c is initialized to the current pixel coordinate, unless it as Julia type.

     // For a Julia type, c remains constant for all pixel coordinates

     // z may be initialized to the current pixel coordinate or initialized to zero.

     // (z-z2).abs() calculates the absolute value of (z-z2)

     // NMAX is the maximum iteration count and is usually equal to about 255

     z += 1;

     z2 = cmplx(42,42);

     while ((z-z2).abs() > 1E-5 && i++ < NMAX)

     {

        z2 = z;

        z = z - (z*z*z-1)/(3*(z*z)) + c;

      }


Menu | Quaternions

Sir William Rowan Hamilton’s Quaternions

A quaternion number is reresented by four values, a real, an imaginary in one plane and  a new real and a new imaginary in another plane. To create a fractal image from quaternion numbers, the classic Mandelbrot equation can be used, F(z) = z*z+c, but instead of z and c being complex numbers, z and c are quaternion numbers.

74.) A0 and A3 Constant
75.) A0 and A1 Constant
76.) A0 and A2 Constant
77.) A0 and A3 Constant
78.) A1 and A2 Constant
79.) A2 and A3 Constant


Menu | Combo

Combo [c = z]
Combo
0.) None
1.) z=1/sin(z);
2.) z=1/cos(z);
3.) z=1/log(z);
4.) z-=1/tangent(z);
5.) z=1/sinh(z);
6.) z=1/asin(z);
7.) z=1/acos(z);
8.) z=1/arctan(z);
9.) z=1/(z*z)
10.) z = sqrt(z);
11.) z = 1/(c + z);
12.) z = 1/(c * z);
13.) z = c/z;
14.) z = z / dBailout;
15.) z = (z+c) / dBailout;
16.) z = (z*c) / dBailout;


Menu | Biomorph

0.) Biomorph, None

1.) Biomorph, (x or y)

2.) Biomorph, (2*x*y)

3.) Biomorph, (x*x+x*x or y*y+y*y) [Pickover]


Menu | Invert

Invert X and Y
Invert X
Invert Y


Menu | Orientation


Menu | c=log(Mag^Pwr);


Menu | Mandelbrot Set


Menu | Julia Set


Menu | Zero Init


Menu | Max = Zero


Filter-1 Commands

0.) [No Filter]

1.) log(abs(x*x+y*y));

2.) (1/(sqrt(x*x+y*y)));

3.) if (abs(x) > L || abs(y) > L) J+=FF; else J-=FF;

4.) if (abs(x) > L && abs(y) > L) J-=FF; else J+=FF;

5.) if (abs(x) > L [&&,||] abs(y) > L) J-=FF; else J+=FF;

6.) if (x > 0) J-=FF; else J+=FF;  if (z > 0) J-=FF; else J+=FF;

7.) if (x > 0 && y < 0) J+=FF; ...

8.) if (x > 0 && y > 0) J-=FF; ...

9.) if (abs(x) <= [0,.25.5.1.25.1.5.1.75.2)   J+=FF; ...

10.) if (abs(x) <= [0,max/2,max/3,max/4,...) J+=FF; ...

11.) for (L=0 ; L<=dmax ; L+=delta10),  if (abs(x) <=  L) J+=FF; ...

15.) Minimum; ...J+=FF;

16.) Maximum...J+=FF;

17.) Delta Slope, On Change;, ...J+=FF;

18.) Delta Slope, No Change;, ...J+=FF;

19.) Averaging X and Y;,  F(c) = b1;

20.) Sum of Log X - Sum of Log Y;,  F(c) = b1;

23.) Sum Of 2nd Derivative

24.) r=r-rn/sin(r); i=i-rn/sin(i);

25.) z=z-rn/sin(z);

27.) i = (log((x_std+y_std)/2)*10*b1; [Standard Deviation]


Filter-2 Commands

30.) (atan(fabs(x_rmax * x_rmin)/fabs(y_rmax * y_rmin)) * 40);

31.) if (fabs(dzx) <= dStrands || fabs(dzy) <= dStrands) rr=ri;

32.) if (dzx*dzx+dzy*dzy < limit) rr+=3;

33.) Combo Filters 1,2, && 3

34.) if (fabs(dzx) > dStrands || fabs(dzy) > dStrands)

35.) if (fabs(dzx) > dStrands &&&& fabs(dzy) > dStrands)

36.) if (fabs(dzx) > limit || fabs(dzy) > limit)

37.) if (fabs(dzx) < limit || fabs(dzy) < limit)

38.) if (fabs(1/dzx*dzy) > limit)

39.) if (fabs(dzx) > limit || fabs(dzy) > limit)

40.) ri = rr + atan(fabs(dzx_save/dzy_save)) * 30;

41.) rr+=log(dzx*dzx+dzy*dzy)*nBay100

42.) ri = rr + atan(fabs(dzx_save/dzy_save)) * 50;

43.) ri = rr/3 + atan(fabs(dzx_save/dzy_save)) * 30;

44.) Combonation atan and strands.

45.) Another atan and strands combonation

46.) i = (int)rr; rr+=log(dzx*dzx+dzy*dzy)*(1+nBay100);

47.) i = (int)(rr + atan(fabs(dzx_save/dzy_save)) * (10+nBay1000));


Options menu commands

28.) Quick Mode	Speeds up drawing of some fractal images.
29.) Fractal Dimension	Pop-up menu to several fractal dimension filters.
30.) Counting
Inside Gradients	Pop-up menu to several inside gradient methods.
Outside Gradients	Pop-up menu to several outside gradient methods.
Gradient Factors (b1&b2)	Opens the fractal parameters dialog for adjusting the gradient factors b1 && b2.
Gradient Options	Opens a pop-up to more gradient options.
Apply Two Equations	A method for drawing two fractal equations and combing the result into one image.
14.) Real = Imag ; Imag = Real;	Swap the real and imaginary components after every iteration.
21.) Double	Creates a double fractal.  Try it with equation 0.
22.) Quad	Creates a Quad fractal.  Try it with equation 0.
26.) z=z^n;	Performs this function after every iteration.
31.) z=z.csin();	Performs this function after every iteration.
32.) z=z.ccos();	Performs this function after every iteration.
33.) z=z.clog();	Performs this function after every iteration.
34.) z=tangent(z);	Performs this function after every iteration.
35.) z=sinh(z);	Performs this function after every iteration.
36.) z=asin(z);	Performs this function after every iteration.
37.) z=acos(z);	Performs this function after every iteration.
38.) z=arctan(z);	Performs this function after every iteration.


Image menu commands

Size	Opens the XY Dimensions dialog box to adjust the size of the image.
Color Parameters	Opens the color parameters dialog box to adjust the color parameters.
Fractal Parameters	Opens the fractal parameter dialog box.
Reset Fractal Parameters	Resets all fractal parameters to their default state.
RGB Mix Presets	Preset palette types
RGB Color Mix Options	Options affecting the RGB Mix palette
Red, Green, Blue	Palette type.
Cyan, Magenta, Yellow	Palette type.
RGB Purplish Aqua	Palette type.
RGB Orange Pekoe	Palette type.
Magenta, Blue, Cyan	Palette type.
Yellow, Green, Cyan	Palette type.
Invert Color	Invert image colors.
Increment Colors	Increments the “Str 0-255” values in the color dialog by the “Step” number (default is 5 steps).  Only valid for the RGB Mix palette type.
Decrement Colors	Decrements the “Str 0-255” values in the color dialog by the “Step” number (default is 5 steps). Only valid for the RGB Mix palette type.
Border	Draws a one pixel wide border around the image.


Convolution menu commands

Dialog - Brings up the convolution dialog box.

Apply - Applies the selected convolution method to the image

Undo - Restores the image as it was before the convolution method was applied.

Auto - Continuously convolutes the image until the stop button is clicked.

Stop - Stops the convolution method.

Average

Sharpen

Edge Detection

Emboss

Blur


Window menu commands

The Window menu offers the following commands, which enable you to arrange multiple views of multiple documents in the application window:

New Window	Creates a new window that views the same document.
Cascade	Arranges windows in an overlapped fashion.
Tile	Arranges windows in non-overlapped tiles.
Arrange Icons	Arranges icons of closed windows.
Auto Tile	Automatically Tiles after a new window is created by zooming or drawing a Julia fractal.
Real & Imaginary Graph
Sum of Squares Graph
Complex Plane (Orbits) Graph
Real && Imaginary  Window
Sum of Squares Window
Complex Plane (Orbits) Window


Help menu commands

The Help menu offers the following commands, which provide you assistance with this application:

Help	Opens the main help screen.
Help Topics	Offers you an index to topics on which you can get help.
About	Displays the version number of this application.


Toolbar command (View Menu)

Use this command to display and hide the Toolbar, which includes buttons for some of the most common commands in Iterations, such as File Open.  A check mark appears next to the menu item when the Toolbar is displayed.


Toolbar

All of the toolbar buttons have an equivalent menu item.  The toolbar buttons are the most frequently used operations and are used for quick access to the menu items.

   1    2   3    4    5    6      7     8      9     10  11 12    13  14    15 16  17  18  19  20   21  22

From left to right, the following tool bar buttons are shown in the application main window:

1.) 	New - Creates a new window

2.) 	Orbit - Used for graphing the orbit of a single pixel location selected by the X point within the zoom rectangle.

3.) 	XY Size Dimensions - Used for changing the size of the image.

4.) 	Fractal Parameters - Used for changing the fractal parameters, such as the screen coordinates, maximum iterations, and the bailout value.

5.) 	Color Parameters - Used for changing the palette color parameters.

6.) 	Reset Fractal Parameters - Used for resetting most of the fractal parameters back to the default.

7.) 	Draw Fractal - Used to re-draw the current fractal image.

8.) 	Draw Julia Fractal - Used for drawing Julia Fractal types.  This toolbar button is highlighted only when a zoom rectangle is drawn on an image.  The X cross point within the rectangle is the point selected for the Julia Set.

9.) 	Zoom Into Rectangle - Used for zooming into a rectangle. This toolbar button is highlighted only when a zoom rectangle is drawn on an image with the mouse pointer.

10.) 	New View on Zoom Mode - This toolbar button can be used to enable or disable a new window opening when zooming or generating Julia sets.  The default is to enable new windows when zooming into fractals or creating Julia fractals.

11.) 	Stretch to Fit - This button can be used to stretch the image to fit in the entire window.  By default this mode is disabled.  Currently, this application cannot operate on a zoom rectangle when in the stretch to fit mode.

12.) 	Movie Dialog - This toolbar button brings up the movie dialog box.

13.) 	Tile Windows - This will tile the windows.  There is an "Auto Tile" option under the "Windows " menu to enable auto tiling.

14.) 	Cascade Windows

15.) 	Red Green Blue - Enables the "Red Green Blue" palette.

16.) 	Cyan Magenta Yellow - Enables the "Cyan Magenta Yellow" palette.

17.) 	RGB Mix - Enables the "RGB Mix" palette.  This is the default pallete.

18.) 	Magenta Blue Cyan - Enables the "Magenta Blue Cyan" palette.

19.) 	Yellow Green Cyan - Enables the "Yellow Green Cyan" palette.

20.) 	Invert Color - This toolbar button will invert the colors regardless of which palette is selected.

21.) 	About

22.) 	Help Context - Use the Context Help command to obtain help on some portion of Iterations.  When you choose the Toolbar's Context Help button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the Iterations window, such as another Toolbar button.  The Help topic will be shown for the item you clicked.


Status Bar command (View menu)

Use this command to display and hide the Status Bar, which describes the action to be executed by the selected menu item or depressed toolbar button, and keyboard latch state. A check mark appears next to the menu item when the Status Bar is displayed.

See Status Bar for help on using the status bar.


Status Bar

The status bar is displayed at the bottom of the Iterations window.  To display or hide the status bar, use the Status Bar command in the View menu.

The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus.  This area similarly shows messages that describe the actions of toolbar buttons as you depress them, before releasing them.  If after viewing the description of the toolbar button command you wish not to execute the command, then release the mouse button while the pointer is off the toolbar button.

The right areas of the status bar indicate which of the following keys are latched down:

Indicator	Description

CAP	The Caps Lock key is latched down.

NUM	The Num Lock key is latched down.

SCRL	The Scroll Lock key is latched down.


New command (Window menu)

Use this command to open a new window with the same contents as the active window.  You can open multiple document windows to display different parts or views of a document at the same time.  If you change the contents in one window, all other windows containing the same document reflect those changes.  When you open a new window, it becomes the active window and is displayed on top of all other open windows.


Cascade command (Window menu)

Use this command to arrange multiple opened windows in an overlapped fashion.


Tile command (Window menu)

Use this command to arrange multiple opened windows in a non-overlapped fashion.


Tile Horizontal command (Window menu)

Use this command to vertically arrange multiple opened windows in a non-overlapped fashion.


Tile Vertical command (Window menu)

Use this command to arrange multiple opened windows side by side.


Window Arrange Icons Command

Use this command to arrange the icons for minimized windows at the bottom of the main window.  If there is an open document window at the bottom of the main window, then some or all of the icons may not be visible because they will be underneath this document window.


Split Command (Window menu)

Use this command to split the active window into panes.  You may then use the mouse or the keyboard arrows to move the splitter bars.  When you are finished, press the mouse button or enter to leave the splitter bars in their new location.  Pressing escape keeps the splitter bars in their original location.  << In a single document interface application, this command will appear on the View menu. >>


1, 2, ... command (Window menu)

Iterations displays a list of currently open document windows at the bottom of the Window menu.  A check mark appears in front of the document name of the active window.  Choose a document from this list to make its window active.


Help command (Help menu)

Use this command to display the opening screen of Help.  From the opening screen, you can jump to step-by-step instructions for using Iterations and various types of reference information.

Once you open Help, you can click the Contents button whenever you want to return to the opening screen.


Using Help command (Help menu)

Use this command for instructions about using Help.


About command (Help menu)

This command displays the version number of Iterations and additional information about the application.


Help Using Help Command
Context Help command

Use the Context Help command to obtain help on some portion of Iterations.  When you choose the Toolbar's Context Help button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the Iterations window, such as another Toolbar button.  The Help topic will be shown for the item you clicked.

Shortcut

Keys:	SHIFT+F1


Title Bar

<< Show your application's title bar here. >>

The title bar is located along the top of a window.  It contains the name of the application and document.

To move the window, drag the title bar.  Note: You can also move dialog boxes by dragging their title bars.

A title bar may contain the following elements:

Application Control-menu button

Document Control-menu button

Maximize button

Minimize button

Name of the application

Name of the document

Restore button


Scroll bars

Displayed at the right and bottom edges of the document window.  The scroll boxes inside the scroll bars indicate your vertical and horizontal location in the document.  You can use the mouse to scroll to other parts of the document.

<< Describe the actions of the various parts of the scrollbar, according to how they behave in your application. >>


Size command (System menu)

Use this command to display a four-headed arrow so you can size the active window with the arrow keys.

After the pointer changes to the four-headed arrow:

1.	Press one of the DIRECTION keys (left, right, up, or down arrow key) to move the pointer to the border you want to move.

2.	Press a DIRECTION key to move the border.

3.	Press ENTER when the window is the size you want.

Note:  This command is unavailable if you maximize the window.

Shortcut

Mouse:	Drag the size bars at the corners or edges of the window.


Move command (Control menu)

Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys.

Note:  This command is unavailable if you maximize the window.

Shortcut

Keys:	CTRL+F7


System Minimize Command
Minimize command (application Control menu)

Use this command to reduce the Iterations window to an icon.

Shortcut

Mouse:	Click the minimize icon [image] on the title bar.

Keys:	ALT+F9


Maximize command (System menu)

Use this command to enlarge the active window to fill the available space.

Shortcut

Mouse:	Click the maximize icon [image] on the title bar; or double-click the title bar.

Keys:	CTRL+F10 enlarges a document window.


Next Window command (document Control menu)

Use this command to switch to the next open document window.  Iterations determines which window is next according to the order in which you opened the windows.

Shortcut

Keys:	CTRL+F6


Previous Window command (document Control menu)

Use this command to switch to the previous open document window.  Iterations determines which window is previous according to the order in which you opened the windows.

Shortcut

Keys:	SHIFT+CTRL+F6


Close command (Control menus)

Use this command to close the active window or dialog box.

Double-clicking a Control-menu box is the same as choosing the Close command.

Note:  If you have multiple windows open for a single document, the Close command on the document Control menu closes only one window at a time.  You can close all windows at once with the Close command on the File menu.

Shortcuts

Keys: 	CTRL+F4 closes a document window

ALT+F4 closes the <<YourType>> window or dialog box


Restore command (Control menu)

Use this command to return the active window to its size and position before you chose the Maximize or Minimize command.


Switch to command (application Control menu)

Use this command to display a list of all open applications.  Use this "Task List" to switch to or close an application on the list.

Shortcut

Keys:	CTRL+ESC

Dialog Box Options

When you choose the Switch To command, you will be presented with a dialog box with the following options:

Task List

Select the application you want to switch to or close.

Switch To

Makes the selected application active.

End Task

Closes the selected application.

Cancel

Closes the Task List box.

Cascade

Arranges open applications so they overlap and you can see each title bar.  This option does not affect applications reduced to icons.

Tile

Arranges open applications into windows that do not overlap.  This option does not affect applications reduced to icons.

Arrange Icons

Arranges the icons of all minimized applications across the bottom of the screen.


View Ruler Command
Ruler command (View menu)

<< Write application-specific help here. >>


Choose Font Dialog
Choose Font dialog box

<< Write application-specific help here. >>


Choose Color Dialog
Choose Color dialog box

<< Write application-specific help here. >>


Edit Find Command
Find command (Edit menu)

<< Write application-specific help here. >>


Find Dialog
Find dialog box

<< Write application-specific help here. >>


Edit Replace Command
Replace command (Edit menu)

<< Write application-specific help here. >>


Replace Dialog
Replace dialog box

<< Write application-specific help here. >>


Edit Repeat Command
Repeat command (Edit menu)

Use this command to repeat the last editing command carried out.  The Repeat menu item changes to Can't Repeat if you cannot repeat your last action.

Shortcut

Key:	F4


Edit Clear Command
Clear command (Edit menu)

<< Write application-specific help here. >>


Edit Clear All
Clear All command (Edit menu)

<< Write application-specific help here. >>


Next Pane Command
Next Pane

<< Write application-specific help here. >>


Prev Pane Command
Prev Pane

<< Write application-specific help here. >>


Iterations Overview

"Iterations" is a program that generates fractal images which can be used in backgrounds and textures for other images, artwork or photos.  It can generate images of any size as long as you have the disk space to support the images.  Currently the largest image I have generated has been 7000 by 5440 which created a bitmap file of 37.189 MBytes.  The minimum requirements to run "Iterations" is a system with the Windows 95 operating system (it should also run with Windows NT), 8 Mbytes of Ram, and a 256 color display.  The program is optimized for a pentium processor, however, it will run with a 486 processor, but you will be waiting a long, long  time for some of the images to complete.

This program uses double precision floating point operations for all of the calculations.


Features and capabilities:

1.) 	Approximately 160 equations for creating fractal imagesAbout 40 filters which can be applied to the equations.  The filters change the parameters within the iteration such as counting the number of change in the direction of the slope of the real and imaginary axis.

2.) 	Audio Video Interleave (AVI) file creation capability for generating fractal videos by zooming and panning in and around a fractal image.

3.) 	8-bit (256 color) Bitmap file import and export.

4.) 	The image parameters can be saved and loaded to / from a file parameters file.

5.) 	Multiple windows for creating and viewing multiple images simultaneously.

6.) 	Image processing using pre-defined convolution kernels such as edge detection, sharpening, averaging, and emboss.  A custom kernel can also be applied and the image can continuously convolute to create an animated image.

7.) 	The points of the real and imaginary data can be graphed.  This program produces three graphs, the real & imaginary plane graphed against the iteration count, the  sum of the squares of the real and imaginary values, and the real data plotted against the imaginary data.

8.) 	All fractal images can be zoomed in or out of by use of a zoom rectangle drawn with the mouse.  The rectangle has a 'X' cross in the middle.  This is used for selecting points (pixels) which are used for creating the Julia set and the 'Orbits' graphs.

9.) 	Two utility programs are available, one can be used to compress the AVI files and the other is to play the AVI files.  The AVI files created by "Iterations" can be played with any AVI file media player software such as "fmedia.exe" which comes with the Windows 95 operating system.

10.) 	The color palette can be changed by use of the color dialog box.

11.) 	Five color palettes are supported.  Each color palette can be altered by use of the color dialog box.


Selecting an equation

The first thing to do is select an equation. The equations are numbered starting with 0 and go through 167.  The equations are grouped in pop-up menu items under "Menu"

Once an equation number is selected, then the image will be automatically generated with the default fractal parameters.  After the equation has been selected and generated, then several other options can be selected to change the appearance of the image such as changing the palette color, selecting a filter, zooming into the image or drawing a Julia fractal by selecting a point within the image.


Zooming in and out

For example, after the application has been started, select equation 0.) F(z) = z*z+c.  This is found under the Menu | Polynomials 1 | 0.) F(z) = z*z + c;  menu item.  Once this equation is selected, the image will automatically draw with the default parameters.  You will see the fractal image appear in the window.  To zoom into the window, draw a rectangle with the mouse by pointing to a location, pressing the left mouse button and dragging the pointer, then releasing the mouse button.  You will see a rectangle drawn on the image with an X cross in the middle of it.  This rectangle can be moved around in the image by pointing inside the rectangle, pressing the left mouse button, and dragging the rectangle to a new location.  The right mouse button can be used to clear the rectangle.  Once a region is within the rectangle, two toolbar buttons are highlighted.  These are the "Draw Julia Fractal" and the "Zoom into Rectangle" toolbar buttons.  To zoom into the region of the rectangle, click on the "Zoom into Rectangle" toolbar button.  The program will create a new window and generate a new image which was the region within the rectangle.  To zoom out of an image, the rectangle can be drawn outside of the image boundaries.  Also the fractal parameter coordinates can be adjusted using the fractal parameters dialog box.


Drawing Julia Set Fractals

The Julia set is name after the French soldier and mathematician Gaston Julia (1893-1978)

Julia set fractals are drawn by selecting a pixel on an image and then selecting the “Draw Julia” toolbar button.  Julia sets can be drawn for most all of the equations in the Iterations program.  As an example of drawing a Julia set, first select equation 0.) F(z) = z*z + c;  by selecting the Menu | Polynomials 1 | 0.) F(z) = z*z + c;  menu item.  Draw a zoom rectangle over the image.  Position the center of  the rectangle over an area near the fractal curve.  The center point is the center of the X within the rectangle.  Once a point is selected, the "Draw Julia Fractal" toolbar button will be highlighted.  Click on the  "Draw Julia Fractal" toolbar button and the Julia fractal will automatically be drawn in a new window.


Filters

Filters are found under the "Filters" main menu item.  Currently there are about 45 different filters.  A filter is used to operate within the fractal equation to enhance the basic fractal image.  Each filter can operate on most of the equations.  Generally, only one filter can be used at a time.  For example, select equation 0.) F(z) = z*z + c by selecting the Menu | Polynomials 1 | 0.) F(z) = z*z + c;  menu item.  Then select Filter | 23.) Sum of 2nd Derivative.  The image will be automatically re-drawn with this filter applied.

Equation 0 with Filter 23

To remove the filter, select Filter | 0.) No Filter.  The image will be re-drawn without the filter applied to it.  Whenever a new filter is selected, it will turn off the previously selected filter.


Combo-Fract

This pop-up menu item is found under the "Menu" menu item.  "Combo-Fract" is a method for selecting two different equations.  The result of the first equation is fed back into the 2nd equation to produce an image which is the combination of two fractal equations.  The final coordinate value of the first equation is used as the pixel coordinate of the 2nd equation.  Using this method a combination of different fractal types can be achieved such as combining Newton fractals with the Mandelbrot or Julia fractal types.

As an example, create a new window by selecting File | New.  Select the Combo-Fract | 1.) z = 1/sin(z); menu option.  A dialog box will appear asking you to enter an equation number. Enter equation "0' and click on OK.  An image will be re-drawn in the window.  Now select Menu | Newton | 61.) F(z) = … [Newton].  An image will be re-drawn in the window which may look like the following image after adjusting the palette colors.

Combo Fractal Equation 0 and Equation 61.

The image is a combination of a Mandelbrot and a Newton fractal.  Now draw a rectangle in a region to select a Julia point.  Click on the "Draw Julia Fractal" toolbar button to draw the Julia Fractal.  Now zoom into an interesting region within the image and adjust the palette color.  If you were successful you should see something like the following image:

Combo Fract 1. Z = 1/sin(z); , Julia Set from Equation 0 and Equation 61.


Creating a Fractal Video

The Iterations program can create fractal videos of zooming and / or panning sequences.  These videos are saved in Audio Video Interleave (AVI) file format and can be compressed and played back with the two utility programs that are included with the Iterations software.  To create a fractal video, the program requires a set of starting coordinates, a set of finish coordinates, and the number of frames to be generated between the starting and finish positions.  All of this is done with the Movie Dialog Box which can be brought up by selecting the Movie Dialog toolbar button or by selecting the View | Movie Dialog command option.

Once the movie dialog has been brought up, use the Iterations menus to select an equation number, a filter, or any of the options available in the Iterations menu and display a fractal image which you would like to use in the fractal video.  Once the image has been generated and displayed, then select the lock start check box in the movie dialog box.  This locks in the coordinates for the starting frame of the fractal video.  Then, using the same equation, zoom in or zoom out to another area of the fractal by using the mouse and drawing a rectangle within an area and using the Zoom into Rectangle toolbar button.  This is done as you would normally do when zooming in or out of a fractal.  Once your image has been redrawn and is displayed on the screen, then select the Lock Finish check box.  This locks in the coordinates for the last frame of the fractal video.  You can then verify that your other movie parameters are set up the way would like them to be set up.  The default parameters are 256 by 256 for the width and height, the default number of frames to be generated is 100, the default Playback Frames/Sec is 8, and the default output filename is Itiera_1.avi.  Any of these parameters may be changed to your convenience.

Once all the parameters are set up, you can start the fractal video movie creation by selecting the start button in the movie dialog box.  Each frame is generated starting with the starting coordinates and is automatically incremented to the next frame position until it reaches the finish frame.  Once this process is complete, then an uncompressed AVI file was created and is ready for playback or compression.  You can start the playback and compression utility programs by selecting View | Batch Compress or View | Video Player commands.  See the help menus in the utility programs for further instructions on compressing and playback.


No Help Available

No help is available for this area of the window.


No Help Available

No help is available for this message box.

<< If you wish to author help specific to each message box prompt, then remove the AFX_HIDP_xxx values from the [ALIAS] section of your .HPJ file, and author a topic for each AFX_HIDP_xxx value.  For example, AFX_HIDP_INVALID_FILENAME is the help topic for the Invalid Filename message box. >>